package com.tjshop.android.util;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;

public class MiscUtils {

	/**
	 * 启动指定的Activity。
	 * 
	 * @param packageContext
	 *            Context实例
	 * @param cls
	 *            Target Activity的Class对象
	 * @param oriIntentWithParams
	 *            包含参数的Intent对象，主要用于消息推送启动应用时Intent参数的传递
	 */
	public static void startActivity(Context packageContext, Class<?> cls,
			Intent oriIntentWithParams) {
		Intent intent = new Intent();
		intent.setClass(packageContext, cls);

		if (!(packageContext instanceof Activity))
			intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);// 如果不是Activity，注意加上FLAG_ACTIVITY_NEW_TASK

		if (oriIntentWithParams != null)
			intent.putExtras(oriIntentWithParams); // 参数Intent不为空，则复制其包含的参数

		packageContext.startActivity(intent);
	}
}
